package com.ftg.learn.chapter10.work02;

/**
 * 生产商品
 *
 * 1 : 需求 调用方法一次就可以生成一个商品 <br>
 * 1.1 定义一个函数接口 CreateProduct<br>
 * 1.2 添加注解 @FunctionalInterface<br>
 * 1.3 编写一个方法 返回值为商品 方法没有参数 Product create()<br>
 * 1.4 定义一个Product类，里面有 编号  名称   单价<br>
 *
 * 1.5 编写一个类 叫play<br>
 * 1.6 在play里完成一个次调用<br>
 * 1.6.1 声明一个 CreateProduct 引用叫 cp1<br>
 * 1.6.2 编写一个lambda表达式 返回一个商品<br>
 * 1.6.2.1 ()-> new Product()<br>
 *
 * 供给型函数式接口
 *   方法没有参数 返回值类型往往为引用类型
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/2/1 上午10:16
 */
@FunctionalInterface
public interface CreateProduct<E> {

    /**
     * 只要你调用我一次我就返回一个 Product
     * @return
     */
    E create();

}
